package util;

/**
 * Created by coco-xsj on 2017/7/6.
 */
public class StringUtils {
    /**
     * 获取指定字符串的值
     * param:str,累加器的值
     * param:key,所指定的字符串
     * return:String,返回key-value相对应的value
     */
    public static String getValueOfSessionOrPage(String str, String key){
        //通过"|"分割字符串
        String[] strs = str.split("\\|");
        //获取value 值
        String value = strs[MapUtils.getPosition(key)].split("=")[1];
        return value;
    }
    /**
     * 更新整个字符串的值
     * param:str1,累加器初始值
     * param:key,所指定的字符串
     * param:newValue,更新指定位置的值
     */
    public static String setValueOfSessionOrPage(String str1, String key, String newValue){
        //通过"|"分割字符串
        String[] strs = str1.split("\\|");
        //获取指定字符串的位置
        Integer position = MapUtils.getPosition(key);
        //设置新值
        String tmp = strs[position].split("=")[0]+"="+newValue.toString();
        strs[position] = tmp;
        //设置StringBuffer形成新的字符串
        StringBuffer buffer = new StringBuffer("");
        for(int i=0; i<strs.length;i++){
            //添加字符串，并在末尾添加"|"
            buffer.append(strs[i]);
            if(i<strs.length-1) {
                buffer.append("|");
            }
        }
        //返回修改后的字符串
        return buffer.toString();
    }
}
